package com.wind.common.constants;

/**
 * HTTP常量接口，定义了常见的HTTP方法、请求头、协议类型以及MIME类型
 * 主要用于简化HTTP请求的处理和响应
 *
 * @author FengYin
 */
public interface HttpConstants {

    /**
     * GET请求方法常量
     */
    String GET = "GET";

    /**
     * POST请求方法常量
     */
    String POST = "POST";

    /**
     * PUT请求方法常量
     */
    String PUT = "PUT";

    /**
     * DELETE请求方法常量
     */
    String DELETE = "DELETE";

    /**
     * Content-Type请求头常量
     */
    String CONTENT_TYPE = "Content-Type";

    /**
     * OAuth2授权Token请求头常量
     */
    String OAUTH2_AUTHORIZATION_HEADER = "Authorization";

    /**
     * OAuth2授权Token请求头值的前缀
     */
    String OAUTH2_AUTHORIZATION_BEARER = "Bearer ";

    /**
     * HTTP协议常量
     */
    String HTTP_PROTOCOL = "http://";

    /**
     * HTTPS协议常量
     */
    String HTTPS_PROTOCOL = "https://";

    /**
     * MIME类型常量接口，定义了常见文件类型的MIME类型
     * 用于设置响应或请求的Content-Type头，表明数据的类型
     */
    interface MimeTypes {

        /**
         * xlsx文件的MIME类型
         */
        String XLSX = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";

        /**
         * xls文件的MIME类型
         */
        String XLS = "application/vnd.ms-excel";

        /**
         * doc文件的MIME类型
         */
        String DOC = "application/msword";

        /**
         * docx文件的MIME类型
         */
        String DOCX = "application/vnd.openxmlformats-officedocument.wordprocessingml.document";

        /**
         * zip文件的MIME类型
         */
        String ZIP = "application/x-zip-compressed";

        /**
         * pdf文件的MIME类型
         */
        String PDF = "application/pdf";

        /**
         * json文件的MIME类型
         */
        String JSON = "application/json";

        /**
         * json-utf8文件的MIME类型
         */
        String JSON_UTF8 = "application/json;charset=utf-8";

        /**
         * xml文件的MIME类型
         */
        String XML = "application/xml";

        /**
         * 二进制文件的MIME类型
         */
        String BYTES = "application/octet-stream";

        /**
         * jpeg图片的MIME类型
         */
        String JPEG = "image/jpeg";
    }

}
